package com.ynet.middleground.approve.bean;

import java.util.Map;

import javax.validation.constraints.NotBlank;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @ClassName
 * @Description 任务撤回请求类
 * @Author liwq
 * @Date 2021/3/2 9:54
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "任务撤回请求对象", description = "任务撤回请求对象")
public class WithDrawTaskReq extends BaseReqObj {

    private static final long serialVersionUID = 4911578080575928793L;

    @ApiModelProperty(value = "是否撤回到任务发起节点；true:是；false:否；默认：true", notes = "是否撤回到任务发起节点；true:是；false:否；默认：true",
        dataType = "boolean")
    private boolean withDrawStartNodeFlag = true;

    @ApiModelProperty(value = "当前任务ID", notes = "当前任务ID", dataType = "String", required = true)
    @NotBlank(message = "当前任务ID不能为空")
    private String currentTaskId;

    @ApiModelProperty(value = "备注（理由）", notes = "备注（理由）", dataType = "String", required = true)
    @NotBlank(message = "备注（理由）不能为空")
    private String reason;

    @ApiModelProperty(value = "任务自定义参数", notes = "任务自定义参数", dataType = "java.util.Map")
    private Map<String, Object> variables;
}
